package utils.fecha;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public abstract class FormateadorSimple extends Formateador {
	private SimpleDateFormat formateador;

	/**
	 * @version 1.0
	 * @param formatoEntrada:"dd/MM/yyyy"
	 */
	public FormateadorSimple(String formatoEntrada) {
		super();
		this.formateador = new SimpleDateFormat(formatoEntrada);
	}
	
	/**
	 * Convierte una fecha string a date
	 * 
	 * @version 1.0
	 * @param fechaEntrada: fecha a convertir
	 * @return fechaPareseada: fecha convertida(null en caso de formato invalido)
	 * @throws ParseException 
	 */
	public Date convertir(String fechaEntrada) throws ParseException {
		Date fechaParseada = getFormateador().parse(fechaEntrada);
		return fechaParseada;
	}
	
	public String desConvertir(Date fechaEntrada){
		String fechaParseada = getFormateador().format(fechaEntrada);
		return fechaParseada;
	}
	
	@SuppressWarnings("deprecation")
	public String convertirHora(Date fecha){
		return this.convertirHora(fecha.getHours(),fecha.getMinutes());
	}
	
	public String convertirHora(long hora,long minutos){
		String horaString = hora!=0 ? String.valueOf(hora) : String.valueOf(hora) + "0";
		String minutosString = minutos!=0 ? String.valueOf(minutos) : String.valueOf(minutos) + "0";
		return horaString + ":" + minutosString;
	}
	
	
	public SimpleDateFormat getFormateador() {
		return formateador;
	}
	public void setFormateador(SimpleDateFormat formateador) {
		this.formateador = formateador;
	}
}
